--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Node / ReticulumProjects / MeshChatX.git / files / tests / backend / test_interface_enabled_flag_oracle.py
Displaying Raw • Download
tests/backend/test_interface_enabled_flag_oracle.py dev (af76f09d) Text, 1.55 KB
T8b949e# SPDX-License-Identifier: 0BSD
T8b949e"""Oracle tests for interface enable/disable flag mutation."""
Tff7b72from T7ee787__future__ Tff7b72import Te6edf3annotations
Tff7b72from T7ee787meshchatxT7ee787.T7ee787srcT7ee787.T7ee787backendT7ee787.T7ee787interface_enabled_flag Tff7b72import Te6edf3apply_interface_enabled_flag
Tff7b72def Td2a8fftest_oracle_enable_writes_flag_when_neither_key_presentTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3iface Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffTCPClientInterfaceTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6fftarget_hostTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ff127.0.0.1Ta5d6ff"Tb4b4b4}
Te6edf3apply_interface_enabled_flagTb4b4b4(Te6edf3ifaceTb4b4b4, Te6edf3enabledTff7b72=Tff7b72TrueTb4b4b4)
Tff7b72assert Te6edf3ifaceTff7b72.Td2a8ffgetTb4b4b4(Ta5d6ff"Ta5d6ffinterface_enabledTa5d6ff"Tb4b4b4) Tff7b72== Ta5d6ff"Ta5d6fftrueTa5d6ff"
Tff7b72assert Ta5d6ff"Ta5d6ffenabledTa5d6ff" Tff7b72not Tff7b72in Te6edf3iface Tff7b72or Te6edf3ifaceTb4b4b4[Ta5d6ff"Ta5d6ffenabledTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6fftrueTa5d6ff"
Tff7b72def Td2a8fftest_oracle_disable_writes_flag_when_neither_key_presentTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3iface Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6fftypeTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6ffTCPClientInterfaceTa5d6ff"Tb4b4b4}
Te6edf3apply_interface_enabled_flagTb4b4b4(Te6edf3ifaceTb4b4b4, Te6edf3enabledTff7b72=Tff7b72FalseTb4b4b4)
Tff7b72assert Te6edf3ifaceTb4b4b4[Ta5d6ff"Ta5d6ffinterface_enabledTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6fffalseTa5d6ff"
Tff7b72def Td2a8fftest_oracle_enable_updates_both_legacy_keysTb4b4b4(Tb4b4b4)Tb4b4b4:
Te6edf3iface Tff7b72= Tb4b4b4{Ta5d6ff"Ta5d6ffenabledTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffalseTa5d6ff"Tb4b4b4, Ta5d6ff"Ta5d6ffinterface_enabledTa5d6ff"Tb4b4b4: Ta5d6ff"Ta5d6fffalseTa5d6ff"Tb4b4b4}
Te6edf3apply_interface_enabled_flagTb4b4b4(Te6edf3ifaceTb4b4b4, Te6edf3enabledTff7b72=Tff7b72TrueTb4b4b4)
Tff7b72assert Te6edf3ifaceTb4b4b4[Ta5d6ff"Ta5d6ffenabledTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6fftrueTa5d6ff"
Tff7b72assert Te6edf3ifaceTb4b4b4[Ta5d6ff"Ta5d6ffinterface_enabledTa5d6ff"Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6fftrueTa5d6ff"
Tff7b72def Td2a8fftest_oracle_disable_route_message_is_not_deletedTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72from T7ee787pathlib Tff7b72import Te6edf3Path
Te6edf3src Tff7b72= Te6edf3PathTb4b4b4(Ta5d6ff"Ta5d6ffmeshchatx/src/backend/http/routes/interfaces.pyTa5d6ff"Tb4b4b4)Tff7b72.Td2a8ffread_textTb4b4b4(
Te6edf3encodingTff7b72=Ta5d6ff"Ta5d6ffutf-8Ta5d6ff"Tb4b4b4,
Tb4b4b4)
T8b949e# The disable handler historically returned "Interface deleted".
Tff7b72assert Ta5d6ff'Ta5d6ffmessageTa5d6ff"Ta5d6ff: Ta5d6ff"Ta5d6ffInterface is now disabledTa5d6ff"Ta5d6ff' Tff7b72in Te6edf3src
Te6edf3disable_idx Tff7b72= Te6edf3srcTff7b72.Td2a8ffindexTb4b4b4(Ta5d6ff"Ta5d6ffasync def reticulum_interfaces_disableTa5d6ff"Tb4b4b4)
Te6edf3delete_idx Tff7b72= Te6edf3srcTff7b72.Td2a8ffindexTb4b4b4(Ta5d6ff"Ta5d6ffasync def reticulum_interfaces_deleteTa5d6ff"Tb4b4b4)
Te6edf3disable_body Tff7b72= Te6edf3srcTb4b4b4[Te6edf3disable_idxTb4b4b4:Te6edf3delete_idxTb4b4b4]
Tff7b72assert Ta5d6ff"Ta5d6ffInterface deletedTa5d6ff" Tff7b72not Tff7b72in Te6edf3disable_body
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────